<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>
官方解释：
<br><br>
Event 对象代表事件的状态，比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。 事件通常与函数结合使用，函数不会在事件发生前被执行！
event是事件的参数啊！在event中包含了事件触发时的参数，比如click事件的event中包含着.e.pageX,e.pageY,keydown事件中包含着ev.keyCode等，在ie中，event是全局的可以通过window.event来获取，在其他浏览器中都是作为参数传入的。
所以好多事件函数都是这样写：
mydiv.onclick = function(ev){
if(!ev){ev = window.event;} //这句也可以简写成：ev=window.event||ev;
alert(ev.pageX+”,”+ev.pageY);
}

<br><br>
<div class="markdown_views">
	<p>官方解释：</p>

	<blockquote>
		<p><strong>Event 对象代表事件的状态，比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。 事件通常与函数结合使用，函数不会在事件发生前被执行！</strong></p>
	</blockquote>

	<p>event是事件的参数啊！在event中包含了事件触发时的参数，比如click事件的event中包含着.e.pageX,e.pageY,keydown事件中包含着ev.keyCode等，在ie中，event是全局的可以通过window.event来获取，在其他浏览器中都是作为参数传入的。 <br>
		所以好多事件函数都是这样写： <br>
		mydiv.onclick = function(ev){ <br>
		if(!ev){ev = window.event;} //这句也可以简写成：ev=window.event||ev; <br>
		alert(ev.pageX+”,”+ev.pageY); <br>
		}</p>

	<p><a href="http://blog.csdn.net/ano1010/article/details/52128370" rel="nofollow" target="_blank">以下部分 转载自其它博文，点击这里进行跳转</a></p>

	<h2 id="如果没有传入event作为参数在函数内部如何获取event呢">如果没有传入event作为参数，在函数内部如何获取event呢？</h2>

	<p>js对于函数的定义是非常松，即使你在函数定义时未写任何参数，或者你定义的参数有多个，但是你调用时，一个参数也不填，也不会出错的。  <br>
		因为js函数内默认有个变量，保存你的入参叫：arguments，  <br>
		他是一个数组，下标从0开始，  <br>
		所以获取event可以写成</p>



	<pre class="prettyprint" name="code"><code class="hljs cs has-numbering">function eventTest(){
    <span class="hljs-keyword">var</span> <span class="hljs-keyword">event</span> = window.<span class="hljs-keyword">event</span>||arguments[<span class="hljs-number">0</span>];
    <span class="hljs-comment">//target 就是这个对象</span>
    target = <span class="hljs-keyword">event</span>.srcElement||<span class="hljs-keyword">event</span>.target,
    <span class="hljs-comment">//这个对象的值</span>
    targetValue = target.<span class="hljs-keyword">value</span>;
}</code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li></ul></pre>

	<p>当然，有的时候需要给函数传入几个参数，这时如果要用想用到event的话可以这么写</p>



	<pre class="prettyprint" name="code"><code class="hljs cs has-numbering">function eventTest(a,b){
    <span class="hljs-keyword">var</span> <span class="hljs-keyword">event</span> = window.<span class="hljs-keyword">event</span> || arguments.callee.caller.arguments[<span class="hljs-number">0</span>]
    <span class="hljs-comment">//target 就是这个对象</span>
    target = <span class="hljs-keyword">event</span>.srcElement||<span class="hljs-keyword">event</span>.target,
    <span class="hljs-comment">//这个对象的值</span>
    targetValue = target.<span class="hljs-keyword">value</span>;
}</code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li></ul></pre>

	<p>如果传入了参数却如第一种写法的话，则arguments中将会传入传入的参数，这时获取的arguments[0]就会是第一个传入的参数了。</p>

	<p>鉴于此，故还是都用第二中方法获取更为稳妥。</p>            </div>
</body>
</html>